/*
 *  shared_region.h
 *  Untitled
 *
 *  Created by Ben Nolan on 3/11/08.
 *  Copyright 2008 __MyCompanyName__. All rights reserved.
 *
 */

#pragma once

#include "region.h"
#include <set>
#include <boost/asio.hpp>

namespace Wonderland{

class Listener;

class ServerRegion : public Region{
public:
	ServerRegion(boost::asio::io_service* io);
	
	void sendUpdates();

	void addListener(Wonderland::Listener* l);

	void removeListener(Wonderland::Listener* l){
		listeners_.erase(l);
	}
	
private:

	std::set<Wonderland::Listener*> listeners_;
	boost::asio::deadline_timer timer_;
	
};

}